import os
import pandas as pd

# 测试用例数据（包含执行结果）
data = {
    "用例编号": ["PR-TC001", "PR-TC002", "PR-TC003", "PR-TC004", "PR-TC005", "PR-TC006", "PR-TC007", "PR-TC008"],
    "测试类型": ["正向测试", "正向测试", "正向测试", "正向测试", "反向测试", "反向测试", "反向测试", "反向测试"],
    "产品编号": ["PROD001", "PROD002", "PROD003", "PROD004", "", "PROD005", "A" * 31, "PROD006"],
    "产品名称": [
        "夏季新款T恤", "5G智能手机", "比利时进口巧克力", "布艺沙发",
        "测试产品", "非法价格产品", "超长编号产品", "无效单位产品"
    ],
    "关键测试参数": [
        "重量：200克，尺寸：700*500*5，价格：59.9元",
        "跨境仓库：18，海关编码：851712，价格：2999.9元",
        "食品仓库：19，保质期信息，海关编码：180631",
        "大件仓库：20，重量：50kg（50000克），尺寸：2400*1800*850",
        "产品编号留空",
        "价格：-99.9元，最低价格：-89.9元",
        "产品编号：31个连续\"A\"",
        "重量单位：磅（非法单位）"
    ],
    "预期结果": [
        "添加成功，产品信息正确显示",
        "添加成功，跨境属性正确记录",
        "添加成功，食品属性正确显示",
        "添加成功，大件商品属性正确显示",
        "添加失败，提示\"产品编号不能为空\"",
        "添加失败，提示\"价格不能为负数\"",
        "添加失败，提示\"产品编号长度不能超过30位\"",
        "添加失败，提示\"重量单位无效\""
    ],
    "实际执行结果": [
        "测试通过，产品成功创建",
        "测试通过，跨境信息正确存储",
        "测试通过，食品信息正确记录",
        "测试通过，大件信息正确存储",
        "提示\"编号为空\"，符合预期",
        "实际添加失败，提示价格错误",
        "实际添加失败，符合预期",
        "提示\"找不到单位即元素\"，可能为单位选择器定位错误"
    ],
    "状态": ["PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR"]
}

# 创建DataFrame
df = pd.DataFrame(data)

# 定义保存路径（与之前一致的文件夹结构）
folder = "D:\\pycharm\\PM_test\\Excel"
if not os.path.exists(folder):
    os.makedirs(folder)

# 保存为Excel文件
file_path = os.path.join(folder, "product_add_test_matrix.xlsx")
df.to_excel(file_path, index=False, sheet_name="产品添加功能测试矩阵")

print(f"测试用例表已保存至：{file_path}")